﻿<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="DangKy.aspx.cs" Inherits="Default2" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="place1" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="place2" Runat="Server">
<script type="text/javascript" language="javascript">        
        function txtCardCodeCustomValidate_ClientValidate(sender, args)  
        {  
           var ccString = args.Value.replace("-", "");  
           args.IsValid = luhn_check(ccString);  
        }         
        function luhn_check(s) {
             var i, n, c, r, t;
             // First, reverse the string and remove any non-numeric characters.
             r = "";
             for (i = 0; i < s.length; i++) {
                 c = parseInt(s.charAt(i), 10);
                 if (c >= 0 && c <= 9)
                    r = c + r;
             }
             // Check for a bad string.
             if (r.length <= 1)
                 return false;
             // Now run through each single digit to create a new string. Even digits
             // are multiplied by two, odd digits are left alone.
             t = "";
             for (i = 0; i < r.length; i++) {
                 c = parseInt(r.charAt(i), 10);
                 if (i % 2 != 0)
                     c *= 2;
                 t = t + c;
             }
             // Finally, add up all the single digits in this string.
             n = 0;
             for (i = 0; i < t.length; i++) {
                 c = parseInt(t.charAt(i), 10);
                 n = n + c;
             }
             // If the resulting sum is an even multiple of ten (but not zero), the
             // card number is good.
             if (n != 0 && n % 10 == 0)
                 return true;
             else
                return false;
        }
</script>
    <h2>Đăng Ký</h2>
    <form id="frRegister" runat="server">        
        <fieldset>
            <legend>Thông tin tài khoản</legend>
            <div class="fm-req">
              <label>Tên đăng nhập:</label>
              <asp:TextBox runat="server" ID="txtUserName"></asp:TextBox>
              <em>
                <asp:RequiredFieldValidator id="tbNameRequired" runat="server" Display="Dynamic" ErrorMessage="Thông tin này là bắt buộc" ControlToValidate="txtUserName" />
			    <asp:CustomValidator id="tbNameCustomRequired" runat="server" ErrorMessage="Tên đăng nhập đã tồn tại trong hệ thống" Display="Dynamic" OnServerValidate="txtUserNameCustomValidate_ServerValidate"/>
			  </em>
            </div>            
            <div class="fm-req">
              <label>Mật khẩu:</label>
              <asp:TextBox runat="server" ID="txtPass" TextMode="Password"></asp:TextBox>
              <em>
                <asp:RequiredFieldValidator id="tbPassRequired" runat="server" Display="Dynamic" ErrorMessage="Thông tin này là bắt buộc" ControlToValidate="txtPass" />
              </em>
            </div>
            <div class="fm-req">
              <label>Xác nhận mật khẩu:</label>
              <asp:TextBox runat="server" ID="txtConfirmPass" TextMode="Password"></asp:TextBox>
              <em>                
                <asp:CompareValidator id="CompareValidator1" runat="server" ErrorMessage="Hãy kiểm tra lại mật khẩu của bạn" ControlToValidate="txtConfirmPass" ControlToCompare="txtPass"></asp:CompareValidator>
              </em>
            </div>
        </fieldset>
        <fieldset>
            <legend>Thông tin cá nhân</legend>
            <div class="fm-req">
              <label>Họ tên:</label>
              <asp:TextBox runat="server" ID="txtName"></asp:TextBox>
              <em>
                <asp:RequiredFieldValidator id="tbCreditNameRequired" runat="server" Display="Dynamic" ErrorMessage="Thông tin này là bắt buộc" ControlToValidate="txtName" />
              </em>
            </div>  
            <div class="fm-req">
              <label>Số CMND:</label>
              <asp:TextBox runat="server" ID="txtNumberID"></asp:TextBox>
              <em>
                  <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" Display="Dynamic" ErrorMessage="Thông tin này là bắt buộc" ControlToValidate="txtNumberID" />
                  <asp:RangeValidator id="RangeValidator2" runat="server"
                    ControlToValidate="txtNumberID"
                    MaximumValue="999999999"
                    MinimumValue="100000000"
                    Type="Double"
                    ErrorMessage="Số CMND không hợp lệ (gồm 9 chữ số)" Display="dynamic">
                  </asp:RangeValidator>
               </em>	
            </div>   
             <div class="fm-req">
                <label>Ngày tháng năm sinh:</label>
                <asp:TextBox ID="txtDate" runat="server" Width="4.5em" />						    
                <asp:DropDownList ID="ddlMonth" runat="server" Width="9em" >						        
                    <asp:ListItem Text="Tháng một" Value="01" Selected="true"></asp:ListItem> 
                    <asp:ListItem Text="Tháng hai" Value="02"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng ba" Value="03"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng bốn" Value="04"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng năm" Value="05"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng sáu" Value="06"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng bảy" Value="07"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng tám" Value="08"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng chín" Value="09"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng mười" Value="10"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng mười một" Value="11"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng mười hai" Value="12"></asp:ListItem>						        
                </asp:DropDownList>						    
                <asp:TextBox ID="txtYear" runat="server" Width="4.5em" />
                <em>
                    <asp:RequiredFieldValidator id="RequiredFieldValidator8" runat="server" Display="Dynamic" ErrorMessage="Ngày không hợp lệ" ControlToValidate="txtDate" />						    
			        <asp:RequiredFieldValidator id="RequiredFieldValidator9" runat="server" Display="Dynamic" ErrorMessage="Năm không hợp lệ" ControlToValidate="txtYear" />						    
			        <asp:RangeValidator id="valRange" runat="server"
                        ControlToValidate="txtDate"
                        MaximumValue="31"
                        MinimumValue="1"
                        Type="Integer"
                        ErrorMessage="Ngày không hợp lệ" Display="dynamic">
                     </asp:RangeValidator>
                     <asp:RangeValidator id="RangeValidator1" runat="server"
                        ControlToValidate="txtYear"
                        MaximumValue="2008"
                        MinimumValue="1900"
                        Type="Integer"                                
                        ErrorMessage="Năm sinh không hợp lệ" Display="dynamic">
                     </asp:RangeValidator>
                     <asp:CustomValidator id="CustomValidator2" runat="server" ErrorMessage="Tài khoản (Họ tên, CMND, Ngày sinh) bạn đã tạo rồi" Display="Dynamic" OnServerValidate="txtIDCustomValidate_ServerValidate" />
                  </em>
            </div>             
             <div class="fm-req">
              <label>Địa chỉ liên lạc:</label>
              <asp:TextBox runat="server" ID="txtAddress"></asp:TextBox>
              <em><asp:RequiredFieldValidator id="RequiredFieldValidator2" runat="server" Display="Dynamic" ErrorMessage="Thông tin này là bắt buộc" ControlToValidate="txtAddress" /></em>
            </div> 
             <div class="fm-req">
              <label>Địa chỉ email:</label>
              <asp:TextBox runat="server" ID="txtEmail"></asp:TextBox>
              <em>
                  <asp:RequiredFieldValidator id="RequiredFieldValidator3" runat="server" Display="Dynamic" ErrorMessage="Thông tin này là bắt buộc" ControlToValidate="txtEmail" />
			      <asp:RegularExpressionValidator id="valRegEx" runat="server"
                        ControlToValidate="txtEmail"
                        ValidationExpression=".*@.*\..*"
                        ErrorMessage="Địa chỉ Email không hợp lệ"
                        display="dynamic">
                  </asp:RegularExpressionValidator>
                  <asp:CustomValidator id="CustomValidator1" runat="server" ErrorMessage="Email đã tồn tại trong hệ thống" Display="Dynamic" OnServerValidate="txtEmailCustomValidate_ServerValidate" />
               </em>
            </div> 
        </fieldset>
        <fieldset>
            <legend>Thông tin thẻ tín dụng</legend>
            <div class="fm-req">
              <label>Tên chủ thẻ:</label>
              <asp:TextBox runat="server" ID="txtCardName"></asp:TextBox>
              <em><asp:RequiredFieldValidator id="RequiredFieldValidator4" runat="server" Display="Dynamic" ErrorMessage="Thông tin này là bắt buộc" ControlToValidate="txtCardName" /></em>
            </div>    
            <div class="fm-req">
              <label>Loại thẻ:</label>
              <asp:DropDownList ID="ddlCardType" runat="server" Width="9em" >
                 <asp:ListItem Text="Loại thẻ" Value="" Selected="True"></asp:ListItem>	
              </asp:DropDownList>
              <em><asp:RequiredFieldValidator id="RequiredFieldValidator5" runat="server" Display="Dynamic" ErrorMessage="Thông tin này là bắt buộc" ControlToValidate="ddlCardType" /></em>
             </div>   
             <div class="fm-req">
              <label>Mã thẻ:</label>
              <asp:TextBox runat="server" ID="txtCardCode"></asp:TextBox>
              <em>
                  <asp:RequiredFieldValidator id="RequiredFieldValidator6" runat="server" Display="Dynamic" ErrorMessage="Thông tin này là bắt buộc" ControlToValidate="txtCardCode" />
			      <asp:CustomValidator id="CustomValidator3" runat="server" ErrorMessage="Tài khoản thẻ không hợp lệ" Display="Dynamic" ControlToValidate="txtCardCode" OnServerValidate="txtCardCodeCustomValidate_ServerValidate" ClientValidationFunction="txtCardCodeCustomValidate_ClientValidate" EnableClientScript="true" />
			  </em>
            </div>     
            <div class="fm-req">
              <label>Tháng năm hết hạn thẻ:</label>
              <asp:TextBox ID="txtCardDate" runat="server" Width="4.5em" />
              <asp:DropDownList ID="ddlCardMonth" runat="server" Width="9em" >						        
                    <asp:ListItem Text="Tháng một" Value="01" Selected="true"></asp:ListItem> 
                    <asp:ListItem Text="Tháng hai" Value="02"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng ba" Value="03"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng bốn" Value="04"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng năm" Value="05"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng sáu" Value="06"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng bảy" Value="07"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng tám" Value="08"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng chín" Value="09"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng mười" Value="10"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng mười một" Value="11"></asp:ListItem>						        
                    <asp:ListItem Text="Tháng mười hai" Value="12"></asp:ListItem>						        
                </asp:DropDownList>						    
                <asp:TextBox ID="txtCardYear" runat="server" Width="4.5em" />
                <em>
                    <asp:RequiredFieldValidator id="RequiredFieldValidator10" runat="server" Display="Dynamic" ErrorMessage="Ngày không hợp lệ" ControlToValidate="txtCardDate" />						    
                    <asp:RangeValidator id="RangeValidator3" runat="server"
                        ControlToValidate="txtCardDate"
                        MaximumValue="31"
                        MinimumValue="1"
                        Type="Integer"
                        ErrorMessage="Ngày không hợp lệ" Display="dynamic">
                     </asp:RangeValidator>
                    <asp:RequiredFieldValidator id="RequiredFieldValidator7" runat="server" Display="Dynamic" ErrorMessage="Thông tin này là bắt buộc" ControlToValidate="txtCardYear" />
			        <asp:CompareValidator id="valRequired" runat="server" ControlToValidate="txtCardYear"
                        ValueToCompare="2000"
                        Type="Integer"
                        Operator="GreaterThan"
                        ErrorMessage="Thẻ không hợp lệ" Display="dynamic">
                    </asp:CompareValidator>	
                 </em>
            </div>                        
        </fieldset>
        <div class="fm-req" id="fm-submit">          
          <asp:Button runat="server" text="Đăng Ký" ID="btnSubmit" OnClick="btnSubmit_Click"/>
          <input type="button" id="btnCancel" value="Hủy Bỏ" onclick="location.href='Default.aspx'" />
        </div>
    </form>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="place3" Runat="Server">
</asp:Content>

